package cqrtplm.entity;

import cqrtplm.log.ObjectComparator;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.*;
import java.sql.Timestamp;
import java.util.List;

@Data
@Entity
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "认证申请对象基础抽象类")
public abstract class RtCertApplicationBaseDO {
    @Id
    @Column(name = "ID", length = 100, nullable = false)
    @ApiModelProperty
    private String id;

    @Column(name = "CTYPE", length = 200)
    @ApiModelProperty
    private String ctype;

    @Column(name = "MODEL", length = 200)
    @ApiModelProperty
    private String model;

    @Column(name = "CTYPECLASS", length = 200)
    @ApiModelProperty
    private String ctypeclass;

    @Column(name = "BZ", length = 500)
    @ApiModelProperty(value = "备注")
    private String bz;

    @Column(name = "CREATEUSERID", length = 100)
    @ApiModelProperty(value = "创建人ID[createPersonId]")
    @ObjectComparator.RTIgnore
    private String createuserid;

    @Column(name = "CREATEUSERNAME", length = 100)
    @ApiModelProperty(value = "创建人")
    @ObjectComparator.RTIgnore
    private String createusername;

    @Column(name = "CREATETIME")
    @ApiModelProperty(value = "创建时间[createTime]")
    @ObjectComparator.RTIgnore
    private Timestamp createtime;

    @Column(name = "UPDATEUSERID", length = 100)
    @ApiModelProperty(value = "更新人ID[updatePersonId]")
    @ObjectComparator.RTIgnore
    private String updateuserid;

    @Column(name = "UPDATEUSERNAME", length = 100)
    @ApiModelProperty(value = "更新人")
    @ObjectComparator.RTIgnore
    private String updateusername;

    @Column(name = "UPDATETIME")
    @ApiModelProperty(value = "更新时间[updateTime]")
    @ObjectComparator.RTIgnore
    private Timestamp updatetime;


    @Column(name = "STATE", length = 1)
    @ApiModelProperty(value = "状态 1有效 0失效")
    private String state;

    @Column(name = "FROZENTIME", length = 100)
    @ApiModelProperty
    private String frozentime;

    private List<RtCertFiledCustomerDO> customerlist;
    private List<RtCertFiledRatoModelsDO> ratoModelslist;
    private List<RtCertFiledPartinfoDO> partlist;
    private  List<RtCertFiledPartManufacturDO> manufacturerlist;
}
